﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Lola.Persistencia;



namespace Lola.Modelo
{
    public class Micro
    {
        private int numInt;
        private string patente;
        private int modelo;
        private int cantPasajeros;
        private int? km;
        private string calidad;

        public Micro()
        {
        }
        public Micro(int numInt, string patente, int modelo, int cantPasajeros, int? km, string calidad)
        {
            this.numInt =numInt;
            this.patente = patente;
            this.modelo = modelo;
            this.cantPasajeros = cantPasajeros;
            this.km = km;
            this.Calidad = calidad;
        }


        public int NumInt
        {
            get { return numInt; }
            set { numInt = value; }
        }
       
        public string Patente
        {
            get { return patente; }
            set { patente = value; }
        }
     
        public int Modelo
        {
            get { return modelo; }
            set { modelo = value; }
        }
       
        public int CantPasajeros
        {
            get { return cantPasajeros; }
            set { cantPasajeros = value; }
        }
        
        public int? Km
        {
            get { return km; }
            set { km = value; }
        }
     
        public string Calidad
        {
            get { return calidad; }
            set { calidad = value; }
        }

        public bool existeMicro(int numint)
        {
            bool encontrado = false;
            if (AdministradorPersistenciaMicro.getInstanciaMicro().buscarMicro(numint) != null)
            {
                encontrado = true;
            }
            return encontrado;
        }

        public Micro obtenerMicro(int numint)
        {

            var mi = AdministradorPersistenciaMicro.getInstanciaMicro().buscarMicro(numint);
            if (mi != null)
            {
                Micro micro = new Micro(mi.numInt, mi.paten, mi.mode, mi.cantPasa, mi.km, mi.calidad);
                return micro;
            }
            return null;
           
        }

        public static List<Micro> obtenerMicrosporSector(String sector, String galpon){
            List<Lola.Persistencia.Micro> mics = AdministradorPersistenciaMicro.getInstanciaMicro().ObtenerMicrosenSector(sector, galpon);
            List<Micro> res = new List<Micro>();
            foreach (Lola.Persistencia.Micro pm in mics)
            {
                Micro micro = new Micro(pm.numInt, pm.paten, pm.mode, pm.cantPasa, pm.km, pm.calidad);
                res.Add(micro);
            }
            return res;
        }
    }
}
